package com.jxc.dao;

import java.util.List;

import com.jxc.entity.TbEmployee;

public interface TbEmployeeDAO {

	// property constants
	public static final String COMPANY_ID = "companyId";
	public static final String USER_NAME = "userName";
	public static final String PWD = "pwd";
	public static final String ROLE = "role";
	public static final String DEPT = "dept";
	public static final String TITLE = "title";
	public static final String NAME = "name";
	public static final String NUMBER = "number";
	public static final String SEX = "sex";
	public static final String AGE = "age";
	public static final String MOBILE = "mobile";
	public static final String PHONE = "phone";
	public static final String EMAIL = "email";
	public static final String ADDR = "addr";
	public static final String PEOPLE_TYPE = "peopleType";
	public static final String ADDR_REGISTER = "addrRegister";
	public static final String NATION = "nation";
	public static final String INPUT_USER = "inputUser";
	public static final String FLAG = "flag";

	public abstract boolean save(TbEmployee transientInstance);

	public abstract void delete(TbEmployee persistentInstance);

	public abstract TbEmployee findById(java.lang.Integer id);

	public abstract List findByExample(TbEmployee instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findByCompanyId(Object companyId);

	public abstract List findByUserName(Object userName);

	public abstract List findByPwd(Object pwd);

	public abstract List findByRole(Object role);

	public abstract List findByDept(Object dept);

	public abstract List findByTitle(Object title);

	public abstract List findByName(Object name);

	public abstract List findByNumber(Object number);

	public abstract List findBySex(Object sex);

	public abstract List findByAge(Object age);

	public abstract List findByMobile(Object mobile);

	public abstract List findByPhone(Object phone);

	public abstract List findByEmail(Object email);

	public abstract List findByAddr(Object addr);

	public abstract List findByPeopleType(Object peopleType);

	public abstract List findByAddrRegister(Object addrRegister);

	public abstract List findByNation(Object nation);

	public abstract List findByInputUser(Object inputUser);

	public abstract List findByFlag(Object flag);

	public abstract List findAll();

	public abstract TbEmployee merge(TbEmployee detachedInstance);

	public abstract boolean attachDirty(TbEmployee instance);

	public abstract void attachClean(TbEmployee instance);
	
	public void delete(Integer id);
	
	
	public void saveEmployeeAndRole(TbEmployee t, String username,int  a);
	
	public abstract List QueryEmployee(String name,String names,String dept,int start,int limit,String city,String district,String roleStr);
	
	public abstract int QueryEmployeeTotal();

}